
        <html>
			<head>
			     <title>安全预警：勒索软件正成为制马人的新方向 - 360手机卫士</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/news/15930">http://drops.wooyun.org/news/15930</a></h1>
				
      <p>
        <h1>0x00 引言</h1>

<hr />

<p>4月份360 移动安全团队发布的《Android勒索软件研究报告》详细揭露了目前国内Android勒索软件黑色产业链情况。其中，报告中指出国内勒索软件传播方式主要借助QQ群、受害者、贴吧和网盘。另外，报告也指出国内勒索软件的制作门槛低，制作人群呈现年轻化等特点。</p>

<p>我们在最近的研究分析中发现，勒索软件的恶意行为出现了新的变化趋势，开始出现交叉式传播。勒索软件通过遍历手机通讯录，向联系人群发带有恶意下载链接的短信的方式进行恶意软件的传播。传播的对象不仅是恶意软件自身，还有其他家族木马，如：专门通过窃取手机支付验证码及其它用户手机重要隐私信息，以达到洗劫用户资金目的的FakeTaobao<a href="http://blogs.360.cn/360mobile/2014/09/16/analysis_of_faketaobao_family/">【1】</a>木马家族。</p>

<p>据我们所知，借助短信方式传播的Android木马家族SpamSoldier<a href="http://blog.cloudmark.com/2012/12/16/android-trojan-used-to-create-simple-sms-spam-botnet/">【2】</a>最早出现在2012年12月，在2014年8月全国范围内爆发的“XX神器”事件<a href="http://baike.so.com/doc/7486655-7756521.html">【3】</a>中被媒体和网民广泛的关注。目前为止，FakeTaobao木马家族是使用这种裂变式传播方式最活跃的木马家族。</p>

<p>我们通过恶意软件中制马人留下的信息，回溯了其长达半年之久的制马活动后发现，勒索软件传播出现的裂变式传播和交叉传播新趋势，正是由于制马人制马类型不再单一，正在变得多元化，而勒索软件正在成为制马人制马的新方向。</p>

<!--more-->

<h1>0x01 木马分析</h1>

<hr />

<h2>一、木马样本分析</h2>

<p>经过我们对最新捕获的勒索软件的分析，该木马的运行流程如下图所示：</p>

<p><img src="http://static.wooyun.org//drops/20160517/201605170520123374721.jpeg" alt="" /></p>

<p>图1.1 木马运行流程</p>

<p>木马具体执行步骤：</p>

<ol>
<li><p>木马运行后，启动恶意服务binge。</p></li>
<li><p>服务启动后，向手机号151xxxx3857发送安装报活短信，短信内容“报告斌哥，软件已安装，已授权”。</p></li>
<li><p>遍历手机通讯录向手机中所有联系人发送带有恶意下载链接的短信，短信内容“{联系人姓名}，我帮别人做宣传。点击链接并下载并安装http://pre.im/xxxxflaw，一定要下载安装哦，不下载安装对不起我哟！”。</p></li>
<li><p>构造并展现锁屏悬浮窗页面，不响应触摸事件。</p></li>
<li><p>隐藏自身图标。</p></li>
</ol>

<p>我们在分析中发现，样本中涉及到敏感的字符串全部进行了DES加密处理。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705202079259313.png" alt="" /></p>

<p>图1.2 木马遍历联系人群发短信的代码片段</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705202153351413.png" alt="" /></p>

<p>图1.3密文与明文对应关系</p>

<h2>二、短信链接分析</h2>

<p>短信中的链接指向http://pre.im/xxxxflaw，Pre.im是一个免费的内测分发、应用托管工具网站，可以用于软件BUG测试和兼容性测试。制马人利用这种第三方网站提供的下载功能，上传恶意样本进行传播。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705202322414512.png" alt="" /></p>

<p>图1.4 Pre.im官网介绍</p>

<p>通过浏览器打开短信中的链接显示一个名为“秒赞神器”软件。实际上，经过分析这个“秒赞神器”软件是一个典型的设置PIN码类型的勒索软件，软件运行后会在用户不知情的情况下强制设置手机解锁PIN码，造成用户无法进入手机桌面。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705202541444611.png" alt="" /></p>

<p>图1.5 木马下载页面</p>

<p>在“秒赞神器”申请激活设备管理器页面上，制马人留下了自己的QQ联系方式。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705202721204711.png" alt="" /></p>

<p>图1.6 木马申请设备管理器页面</p>

<p>同时，在木马签名信息中也发现了同样的QQ号码。</p>

<p><img src="http://static.wooyun.org//drops/20160517/201605170520293570888.png" alt="" /></p>

<p>图1.7 木马签名信息</p>

<h1>0x02 制马人分析</h1>

<hr />

<h2>一、制马人行为分析</h2>

<p>我们通过恶意软件中制马人留下手机号和QQ信息，将其制作的恶意样本与我们捕获到的时间进行关联，回溯了制马人长达半年之久的制马活动。</p>

<p><img src="http://static.wooyun.org//drops/20160517/201605170520317472999.png" alt="" /></p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705203359589108.png" alt="" /></p>

<p><img src="http://static.wooyun.org//drops/20160517/20160517052034721981113.png" alt="" /></p>

<p>图2.1 制马人半年的制马活动轨迹</p>

<p>从捕获时间看，包含制马人联系方式的恶意样本首次出现在2015年11月3日，软件名称为“system”。</p>

<p><img src="http://static.wooyun.org//drops/20160517/20160517052036176991210.png" alt="" /></p>

<p>图2.2 “system”恶意软件代码片段</p>

<p>15年11月3日到12月25日：制马人制马活动很少，偶尔制作几个名称为“system”、“卡钻”、“移动激活卡钻”等恶意软件。值得注意的是，新年前后期间正是广大网民抢红包的高峰期，在新年的前一周，12月24日制马人制作了一款名为“抢红包外挂”的恶意软件。从十一月到十二月期间制作的这些恶意软件都属于FakeTaobao木马家族。</p>

<p>16年1月1日：2016年新年伊始，制马人依然没有停下制马的脚步，元旦这天制马人开始尝试制作勒索软件测试Demo程序。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705203892412137.png" alt="" /></p>

<p>图2.3 勒索软件测试Demo程序</p>

<p>1月10日：制马人又开始转向制作钓鱼软件，制作了一个用于窃取QQ账号和密码的钓鱼软件测试Demo程序。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705204087880147.png" alt="" /></p>

<p>图2.4 钓鱼软件正在发送QQ账号密码信息</p>

<p>1月12日：制马人通过篡改正常软件，制作了一款全屏不响应触摸事件的形式的勒索软件。从这个样本可以看出制马人从测试阶段逐步开始制作正式的勒索软件。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705204258795157.png" alt="" /></p>

<p>图2.5 正常软件（图左）和被篡改后的软件（图右）对比</p>

<p>从制马人一月的活动可以看出，一月制马人开始活跃起来。不但制作了像“相册”、“移动积分”、“双倍抢红包（秒抢）”这类FakeTaobao木马家族恶意样本，还制作了钓鱼和勒索软件。</p>

<p>2月4日：与一月相比，二月制马人活动明显减少。制马人在2月4日制作的勒索软件中，加入了所谓的“免杀”手段，通过构造了异常的ZIP包结构，造成分析工具解压时报错，来对抗常见的分析工具分析。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705204580255166.png" alt="" /></p>

<p>图2.6 异常的ZIP包结构</p>

<p>2月5日到2月22日：制马人一直保持静默，没有制作任何恶意软件。这段时间恰逢中国农历腊月二十七到正月十五。</p>

<p>2月25日：制马人开始制作新型的勒索软件，新型勒索软件主要是将勒索软件以子包的形式隐藏在另一个软件中，后者安装运行后会通过一些文字提示诱导用户授予Root权限，同时将前者安装到手机系统软件目录中，这种锁机方式被制马人称为“Root锁”。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705204677492177.png" alt="" /></p>

<p>图2.7 执行拷贝到系统软件目录的shell命令</p>

<p>3月1日：从制马人活动频率看，三月是制马人近半年内制马最为活跃的月份。在3月1日，制马人制作了名为“QQ百宝箱”的恶意软件。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705204899770186.png" alt="" /></p>

<p>图2.8 QQ百宝箱安装图标</p>

<p>该恶意软件不仅会在用户不知情的情况下强制设置手机解锁PIN码，造成用户无法进入手机桌面。而且，还会诱导用户输入QQ账号和密码进行钓鱼。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705204954968195.png" alt="" /></p>

<p>图2.9 窃取QQ账号密码信息代码片段</p>

<p>另外，值得关注的是，我们发现“QQ百宝箱”恶意软件加入了遍历手机通讯录群发短信的功能，开始进行自我传播。“QQ百宝箱”恶意软件与我们最新捕获的恶意软件，除了短信内容没有进行加密处理外，从代码结构上看，前者与后者几乎完全一样，我们认为这应该是后者的早期版本。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705205174572205.png" alt="" /></p>

<p>图2.10 “QQ百宝箱”遍历通讯录群发短信代码片段</p>

<p>3月19日：从3月19日开始在连续一周多的时间里，制马人每天都在制作恶意软件，甚至出现了一天内制作多个恶意软件。</p>

<p><img src="http://static.wooyun.org//drops/20160517/20160517052052507752111.png" alt="" /></p>

<p>图2.11 制马人同一天制作的三个恶意软件</p>

<p>四月制马人活动频率有所下降，同时，我们发现在四月制马人制作的恶意软件全部是勒索软件。</p>

<p>我们通过回溯和分析制马人在近六个月里制马活动的频率和制马类型可以看出制马人行为有以下特点：</p>

<ol>
<li><p>制马人在2015年年底并不活跃，而且制作方向单一，仅仅制作FakeTaobao木马家族恶意样本；</p></li>
<li><p>在2016年1月制马人尝试制作勒索和钓鱼软件，制作方向开始发生转变，制作了一批测试Demo程序；</p></li>
<li><p>在二月制马人开始增加恶意样本对抗分析手段并且加强了勒索软件恶意功能；</p></li>
<li><p>在三月制马人增加了恶意软件传播方式，开始群发短信进行裂变式传播。同时，制马人活动频率也到达高峰。</p></li>
<li><p>在四月制马人将已有代码进行加密保护，增加了不同类型恶意软件间的交叉式传播方式。</p></li>
<li><p>制马人前三个月与后三月的制马类型对比，制马人制马方向从FakeTaobao木马家族逐渐转向勒索软件，勒索软件受到了制马人的“青睐”。</p></li>
</ol>

<h2>二、制马人信息</h2>

<p>我们通过查询恶意软件中制马人留下的QQ信息，这个QQ号码指向一个信息显示仅有15岁的少年。并且发现这个人是QQ群“AIDE – Android lockphone”的群主，该群目前有超过200人。此人群名片显示“赞我十赞截图，送root锁”，所谓的Root锁，就是制马人在二月制作的利用Root的勒索软件恶意样本。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705205474881226.png" alt="" /></p>

<p>图2.12 QQ号码查询信息</p>

<p>另外，此人的QQ个性签名历史中曾经出现“flaw的人生”，“flaw”这个词出现在群发的短信链接中，根据这些信息，我们认为此人与制马人为同一人。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705205799783236.png" alt="" /></p>

<p>图2.13 制马人历史个性签名信息</p>

<h1>0x03 影响与趋势</h1>

<hr />

<h2>一、关联样本</h2>

<p>我们通过已知的信息，关联出其他有相似行为的勒索软件。这些勒索软件群发的短信链接，主要借助的是网盘和第三方网站进行传播。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705205924592244.png" alt="" /></p>

<p>图3.1 关联样本中的短信内容与链接归属</p>

<p>从链接传播的对象看，链接传播的恶意软件不仅是勒索软件自身，还发现了其他恶意木马家族，例如FakeTaobao木马家族。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705210055546254.png" alt="" /></p>

<p>图3.2勒索软件传播的FakeTaobao木马家族</p>

<h2>二、收益情况</h2>

<p>经过我们调查，制马人制马方向转变，制马多元化的原因，归根结蒂还是与钱有关。我们从一个制马人的聊天中得知，制马人主要制作“拦截马”即FakeTaobao木马家族，月收益相当可观在1.3万元左右，同时制马人也在制作勒索软件，每月能够多带来1500元收益。</p>

<p><img src="http://static.wooyun.org//drops/20160517/2016051705210255190264.png" alt="" /></p>

<p>图3.3制马人的聊天对话内容</p>

<p>制马人“青睐”勒索软件的原因，一方面勒索软件制作门槛低，制马方向的多元化会给制马人带来额外的一份收益；另一方面，与FakeTaobao木马家族洗劫用户资金财产相比，勒索软件每次勒索的数额并不大，相对制马人来说制马风险也较小。</p>

<h2>三、裂变式传播</h2>

<p>我们发现制马人擅长使用群发带有恶意下载的短信的方式进行恶意软件传播，受害人点击短信中的网址链接下载安装后，手机会被植入恶意软件，该软件会遍历受害人手机中的通讯录，并继续向获取到的通讯录名单发送同样的恶意链接短信，以此来获得裂变式的传播速度。这种传播方式利用熟人间的信任关系，加之文字诱导，传播感染成功率极强。</p>

<h2>四、交叉式传播</h2>

<p>制马人制马类型的多元化，也带来了移动平台传播的新趋势。制马人将不同类型的恶意软件进行交叉式传播，在给制马人带来不同收益来源外，同时，也给用户带来了更多的安全威胁。一旦用户中招，木马会形成攻击链条，用户损失会出现叠加，同时，对于手机防护软件也提出了更高的要求。</p>

<p>附录一：参考资料</p>

<p>【1】 FakeTaobao家族变种演变<br />
http://blogs.360.cn/360mobile/2014/09/16/analysis&#95;of&#95;faketaobao_family/</p>

<p>【2】Android Trojan Used To Create Simple SMS Spam Botnet<br />
http://blog.cloudmark.com/2012/12/16/android-trojan-used-to-create-simple-sms-spam-botnet/</p>

<p>【3】XX神器<br />
http://baike.so.com/doc/7486655-7756521.html</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          